package com.example.demo.service;

import com.example.demo.entity.Category;
import java.util.List;

// 商品类别服务接口，定义类别管理的业务操作
public interface CategoryService {

    // 创建新的商品类别
    // @param category 要创建的类别信息
    // @return 创建成功的类别信息
    Category createCategory(Category category);

    // 更新商品类别信息
    // @param category 要更新的类别信息
    // @return 更新后的类别信息
    Category updateCategory(Category category);

    // 删除指定ID的商品类别
    // @param categoryId 要删除的类别ID
    void deleteCategory(Integer categoryId);

    // 获取指定ID的商品类别
    // @param categoryId 类别ID
    // @return 类别信息
    Category getCategoryById(Integer categoryId);

    // 获取所有商品类别
    // @return 所有类别列表
    List<Category> getAllCategories();

    // 获取指定父类别的所有子类别
    // @param parentCategoryId 父类别ID
    // @return 子类别列表
    List<Category> getSubCategories(Integer parentCategoryId);

    // 根据关键字搜索商品类别
    // @param keyword 搜索关键字
    // @return 匹配的类别列表
    List<Category> searchCategories(String keyword);

    // 获取商品类别的树形结构
    // @return 树形结构的类别列表
    List<Category> getCategoryTree();
}